package chap7;

public class Cinit {
	static { 
	 		i = 0; // 给变量复制可以正常编译通过 
//	  		System.out.print(i); // 这句可以赋值但不能访问，编译器会提示“非法向前引用” 
	 	} 
	static int i = 1;


	static class Parent {
		public static int A = 1;
		static {
			A = 2;
		}
	}

	static class Sub extends Parent {
		public static int B = A;
	}

	public static void main(String[] args) {
		//cinit方法由类变量赋值和静态初始化块按顺序组成。
		//父类的的cinit方法先执行
		System.out.println(Sub.B);
	}
}
